package com.xmy.cultivate.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 重复排课
 * </p>
 *
 * @author min
 * @since 2022-07-28
 */
@TableName("course_scheduling_redo")
@Data
public class CourseSchedulingRedo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    
    private Long id;

    
    private Long courseSchedulingId;
    /**
     * 班级id
     */
    
    private Long gradeId;

    private Long courseId;

    /**
     * 排课方式：1自由排课，2重复排课
     */
    private Integer arrangingWay;

    /**
     * 开始日期
     */
    private LocalDate startDate;

    /**
     * 结束日期
     */
    private LocalDate endDate;

    /**
     * 结束方式，1按日期，2按期数
     */
    private Integer endMode;

    private Integer expectNum;

    /**
     * 节假日过滤，1排课，0不排课
     */
    private Integer festivalsFilter;

    /**
     * 上课时段开始
     */
    private String timeStart;

    /**
     * 上课时段结束
     */
    private String timeEnd;

    private String startHouse;

    private String endHouse;

    private String startMinute;

    private String endMinute;



    
    @TableField(fill = FieldFill.INSERT)
    private Long createdId;

    private Integer deleted;

    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    @TableField(fill = FieldFill.UPDATE)
    private LocalDateTime updatedAt;

    private LocalDateTime deletedAt;

    /**
     * 教室
     */
    
    private Long classRoomId;

    
    private Long subjectsId;

    /**
     * 任课教师id
     */
    
    private Long teacherId;

    /**
     * 助教id
     */
    private Long assistantId;
    
    private Long schoolId;

    private String weekDates;

    /**
     * 接收前端数据用
     */
    @TableField(exist = false)
    private List<Integer> weekDatesList;


}
